package com.telit.firecommand.dto;

import com.telit.firecommand.entity.IotDevice;
import com.telit.firecommand.vo.CameraVO;
import com.telit.firecommand.vo.ForesterVO;
import com.telit.uav.dto.UavTaskDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.List;


/**
 * 带业务数量的行政区划DTO
 *
 * @author yuezhuang
 * @date 2022-09-05
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "DistrictCountDTO", description = "带业务数量的行政区划DTO")
public class DistrictCountDTO implements Serializable {

    private static final long serialVersionUID = -1L;

    @ApiModelProperty(value = "ID", required = true)
    private Long id;

    @ApiModelProperty(value = "名称", required = true)
    private String name;

    @ApiModelProperty(value = "编码", required = true)
    private String code;

    @ApiModelProperty(value = "父编码", required = true)
    private String parentCode;

    @ApiModelProperty(value = "等级", required = true)
    private Integer rank;

    @ApiModelProperty(value = "数量", required = true)
    private Integer count;

    @ApiModelProperty(value = "在线数量", required = true)
    private Integer onlineCount;

    @ApiModelProperty(value = "离线数量", required = true)
    private Integer offlineCount;

    @ApiModelProperty(value = "子类集合", required = true)
    private List<DistrictCountDTO> children;

    @ApiModelProperty(value = "监控集合")
    private List<CameraVO> cameraList;

    @ApiModelProperty(value = "无人机集合")
    private List<UavTaskDTO> uavList;

    @ApiModelProperty(value = "护林员集合")
    private List<ForesterVO> foresterList;

    @ApiModelProperty(value = "物联网设备集合")
    private List<SysEquipStationDTO> equipStationList;

    @ApiModelProperty(value = "升哲IOT集合")
    private List<IotDevice> iotDeviceList;

}
